Adaptive material deposition for additive manufacturing

ABSTRACT

A closed-loop adaptive material deposition apparatus and method uses a scanning system to monitor an additively manufactured object as it is being fabricated and adapting the geometric shape and material composition of the subsequent layers based on the scan data. The scanning system repeatedly captures geometric and/or material information of a partially manufactured object with optional auxiliary objects inserted during the manufacturing process. Based on this information, the actual surface geometry and/or actual material composition is computed. Surface geometry may be offset and used as a slicing surface for the next portion of the digital model. The shape of the slicing surface may then be recomputed each time the system scans the partially fabricated object.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.62/435,644 filed Dec. 16, 2016, which is incorporated herein byreference.

STATEMENT AS TO FEDERALLY SPONSORED RESEARCH

This invention was made with government support under Grant No.IIS-1409310 awarded by the National Science Foundation and Grant No.N66001-15-C-4030 awarded by the Space and Naval Warfare Systems Center.The government has certain rights in the invention.

BACKGROUND

This invention relates to adaptive material deposition for additivemanufacturing, and more particularly, to scanning feedback for planningof material deposition to match an object model.

In one approach to additive manufacturing, a digital model ispreprocessed to specify a series of parallel planar layers.Specifications of the layers are sent to a fabrication machine thatdeposits the layers one by one from the bottom to the top to form theobject. In some machines, the fabricated layers may be mechanicallyplanarized using a roller (e.g., for photopolymer, phase-changefabrication), a scraper (e.g., for powder-based fabrication), or a mill(e.g., for wax-based fabrication).

In another additive manufacturing process, a closed feedback loopapproach uses a 3D scanner or a profilometer to scan the part as it isbeing manufactured. In an example disclosed in the Applicant's priorpatent application publication US2016/0023403, a pre-process slices adigital object model into planar slices, and layers are depositedaccording to the pre-planned slices. The scanning may occasionallydetect an incorrect layer thickness or surface height, and correctionlayers inserted to planarize the current topmost surface so that furtheroriginally planned slices can be used to deposit further layers on theobject to yield a fabricated object that accurately matches the digitalobject model.

SUMMARY

In a general aspect, one or more approaches described herein use aclosed-feedback loop that avoids the need to planarize the top surfaceof the object being fabricated. Rather than relying on pre-plannedslices of the object model that are determined before fabricationbegins, these approaches plan the slices during the fabrication processto adapt to the actually fabricated object. For example, non-planarlayers of uniform thickness may be planned and deposited. Advantages ofadapting the slices rather than depositing corrective layers can includefaster printing by avoiding delays associated with printing correctivelayers, and more accurate matching of the fabricated object to theobject model.

In one aspect, in general, a method for additive fabrication of anobject represented by three-dimensional model data makes use of firstscan data obtained from a scanner after fabricating a first part of theobject, where fabricating the first part forms a first surface of theobject. This first scan data is used to compute first surface datacharacterizing the first surface of the object. Second fabrication datathat characterizes a second set of layers for additive fabrication onthe first surface of the object are then determined according to thefirst surface data and the three-dimensional model data for the object.At least one layer of the second set of layers represents a non-planarsurface (i.e., as deposited on the first part of the object) and/or anon-uniform material composition determined from the first surface data.The second fabrication data is provided to control a printer forfabricating the second set of layers.

Aspect can have one or more of the following features.

The first surface of the object has a varying level. This may beadvantageous in that further layers may be deposited without having toform a planar surface.

The layers of the second set of layers are determined to be offset fromthe first surface, and a have spatial extent in dimensions along thefirst surface determined from the model data for the object. Each layerof the second set of layers may be determined to have uniform thickness.Each layer may be each uniformly offset from the first surface. Anadvantage of such a second set of layers is that they may be depositedusing uniform application of material, without requiring that theplanned layer forms a planar “slice” through the object model.

The first surface data includes a first depth map for the first surface.

Determining the second fabrication data characterizing the second set oflayers comprises, for each layer of the second set of layers determiningan offset depth map relative to the first depth map, determining across-section corresponding to an intersection of the offset depth mapand the object determined from the three-dimensional model data, anddetermining a spatial extent of the cross section.

The model data characterizes a material composition throughout theobject, and the first scan data represents a varying materialcomposition associated with the first surface of the object, forexample, within a volume of the object adjacent to the first surface.

The second set of layers are determined to have varying materialcomposition determined from the object data and from the varyingmaterial composition associated with the first surface, for example, tomatch the material composition characterized by the model data. Anadvantage of such determination may be to achieve a desired materialcomposition of the object by making local corrections duringfabrication.

The method further includes fabricating the first part of the object,including forming the first surface. The method can also includefabricating a second part of the object on the first surface of theobject, including fabricating each layer of the second set of layersaccording to the determined second fabrication data.

Fabricating the second part of the object forms a next surface of theobject, and the method further comprises, repeating (e.g., iterating)one or more times: computing, using scan data obtained from the scannerafter fabricating a second part of the object forming a next surface ofthe object, next surface data characterizing the next surface of theobject; determining next fabrication data characterizing a next set oflayers for additive fabrication on the next surface of the objectaccording to the next surface data and three-dimensional model data forthe object; and fabricating a next part of the object on the nextsurface of the object, including fabricating each layer of the next setof layers according to the determined next fabrication data, fabricatingthe next part including forming the next surface of the object.

Scan data obtained from the scanner after fabricating multiple parts ofthe object may be combined to synthesize a three-dimensional image ofthe fabricated object.

The first part of the object may be formed by combining of an auxiliaryobject (e.g., a printed circuit element, structural material, etc.) witha part formed by additive fabrication, such that the auxiliary objectforms at least part of the first surface of the object.

In another aspect, in general, a non-transitory machine-readable mediumcomprises instructions stored thereon for causing a computer controlledthree-dimensional printing system to perform all the steps of any methodset forth above.

In another aspect, in general, a computer controlled three-dimensionalprinting system is configured to perform all the steps of any method setforth above

In general, the approaches described herein may provide many advantagescompared to the traditional additive manufacturing methods. First, theapproaches do not require a mechanical flattening mechanism such as ascraper or a roller. This eliminates the material waste introduced bythese mechanisms and reduces the complexity of the whole system.Furthermore, since there is no mechanical flattening mechanism whichmakes a contact with the manufactured object, the printing process cansupport a more diverse set of materials (e.g., multi-componentmaterials, materials with substantial shrinkage/expansion or evenwarping), eliminates the reduction of resolution or color bleeding dueto smearing, and avoids possible mechanical object displacement. Theadaptive process can further compensate for dimensional inaccuracieswhen working with high-shrinkage or expansion materials or sloweractivation/curing materials. In the case of multi-material additivemanufacturing, the method can improve interfaces between materials thatare not fully compatible.

Other features and advantages of the invention are apparent from thefollowing description, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 is an isometric view of a printer/scanner;

FIG. 2 is a cross-sectional view of the printer/scanner shown in FIG. 1;

FIG. 3 is a block diagram of the printing system;

FIG. 4 is a flowchart of operation of the printing system;

FIG. 5 is a cross-section of an object showing planar fabricationlayers;

FIG. 6 is a cross-section of an object showing non-planar fabricationlayers;

FIG. 7 is a diagram illustrating a computation of characteristics of anon-planar slice of an object;

FIG. 8 is a cross-section of an object showing multi-materialfabrication layers;

FIG. 9 is a cross-section of an object showing non-uniformmulti-material fabrication layers;

FIG. 10 is a cross-section of an object showing surface height rangereduction; and

FIG. 11 is a printing system.

DESCRIPTION

Referring to an isometric view of FIG. 1 and a correspondingcross-sectional view of FIG. 2, a schematically representedthree-dimensional printer/scanner 100 is used to fabricate an object 140by “printing” successive thin layers of the object using a printhead110. Each layer of the object is formed by moving the printhead over thesurface 142 of the object, for example, in a raster fashion where a“stripe” of a layer is formed by moving the printhead along the “x”direction while depositing material, and then the printhead isincrementally moved in the “y” direction before forming the next stripeof the layer. Through successive passes, multiple stripes are depositedto form a thin layer extending over a range of x-y coordinates, therebygrowing the object in the (positive, “vertical”) z direction. In theprinter/scanner 100 shown in FIGS. 1-2, a positioning subsystem 135permits positioning the print head at any (x,y) location over a buildplatform 130 on which the object is fabricated. Furthermore, foraccurate printing, the printhead is preferably positioned close to thesurface of the partially fabricated object, requiring control of theposition of the printhead relative to the object in the “z” direction.The positioning subsystem 135 includes an arrangement of rails 120, 124,128 and controlled carriages 122, 126. Two carriages 122 are configuredto move under the control of a printing controller transversally in they direction along corresponding rails 120 extending in the y directionin a fixed relationship to the build platform 130. A rail 124 is fixedbetween the carriages 122 such that the rail 124 remains oriented in thex direction. A carriage 126 is configured to move under the control ofthe printing controller transversally in the x direction along rail 124.Positioning of the printhead 110 in the z direction uses a rail 128,which extends in the z direction, with the carriage 126 being configuredto move the rail in the z direction (i.e., up and down). In thisexample, the printhead 110 is fixed to the rail 128, thereby allowingfor positioning the printhead 110 in the z axis. The printer/scanner 100includes a controller (not shown in FIG. 1), which controls thepositioning of the carriages on the rails, thereby controlling thethree-dimensional motion of the printhead. It should be understood thatthe positioning system 135 illustrated in FIGS. 1-2 is only a schematicexample, and that other arrangements that enable three-dimensionalpositioning and motion of the printhead may be used. For example, as analternative of z-axis positioning, the build platform 130 may beconfigured to be positioned along the z-axis such that the surface 142of the object being fabricated remains at an optimal displacement fromthe printhead 110, which is configured to move in the x-y directions,and the entire build platform may move in three axes and the printheadremains fixed or also may move. In general, the approaches describedbelow can be used with a variety of positioning systems.

The printing system 110 also includes a scanner 112, which is used toscan the object 140 being fabricated. In general, as described morefully below, scan data obtained from the scanner is used to adapt thecontrol of the printhead and thereby adapt the fabrication of the objectto accommodate deviation of actual fabrication of the object from anideal fabrication plan. For example, the approach may accommodatedeviation in the shape, material composition, and/or color of the objectas it is being fabricated as compared to a model of the object. In theprinter/scanner 100 shown in FIG. 1, the scanner 112 is configured to bepositionable in three dimensions, and in particular in this embodimentis fixed relative to the printhead 110 such that the same positioningsystem 135 that is used to position and move the printhead 110 can beused to position the scanner. In other arrangements, a separatepositioning system may be used for the scanner. Furthermore, asdescribed further below, a scanning technology used in the scannerrelies on the scanner 112 being positionable in the x-y plane above theobject, but it should be understood that there are other scanningtechnologies that do not necessarily require such positioning, whilenevertheless being able to provide suitable scan data for use in theapproaches that are described below.

Referring to the cross-sectional view of FIG. 2 (i.e., in the x-zplane), a partially fabricated object 140 is shown, fabricated on thebuild platform 130. The partially fabricated object 140 is shown to havea surface 142 which is non-uniform in height (and therefore notperfectly level in the x-y plane, i.e., with the surface not planar orparallel to the build platform 130). In practice, although the printermay be controlled to deposit layers that ideally would yield a levelsurface, each layer having a constant height (z value) extendingparallel to the build platform (i.e., parallel to the x-y plane),factors such as imperfect rate of material being deposited from theprinthead, unpredicted or non-uniform volume changes during curing ofthe material, effects of interaction between materials, and so forth mayresult in an uneven surface like surface 142. The surface 142 isultimately formed as a result of some of the most recently depositedlayer having variation in height relative to previous layers. Asdescribed further below, the scanner 112 (not illustrated in FIG. 2) isused to scan the surface 142 to yield scan data from which a depth mapof the partially fabricated object can be obtained. Such a depth map isused in part to modify the control of the printhead 110 so as to adaptto the non-uniform surface 142.

Referring to the functional block diagram of FIG. 3, operation of aprinting system 300 that includes the printer/scanner 100 uses scan data350 that is produced by the scanner 112 of the printer/scanner. The scandata 350 includes information characterizing the surface upon whichfurther layers will be printed. An image processor 360 processes thescan data 350 to produce surface data 370, in this example including adepth map. Note that as discussed further below, “surface data” shouldbe understood to include data associated with the boundary of theobject, such as its height, and may also or alternatively include dataassociated with a region near the boundary for example in a shallowsection (e.g., an adjacent volume having the thickness of one or severalor hundreds of deposited layers) within the fabricated object. The depthmap represents the actually achieved height of the partially-fabricatedobject as a function of (x,y) coordinates. A planner 320 uses thesurface data 370 along with object data 310, which includes athree-dimensional object model, as input, and produces fabrication data330, which generally characterizes multiple (e.g., 10-100) slicescorresponding to layers to be deposited on the partially fabricatedobject. (In general, for the sake of clarity, a “slice” as used hereingenerally represents a thin portion of a model, while a “layer”generally represents the physical realization of a slice in thefabricated object.) Generally, the fabrication data includes a plan foreach slice (a “slice plan”), where a plan for a particular sliceincludes a specified region (or regions) of the x-y coordinate space inwhich material is to be deposited, optionally also includingcharacteristics such as thickness, material, etc., which may vary acrosseach region. The fabrication data 330 passes to a printer controller 340as input, and the printer controller 340 processes the fabrication dataand provides resulting control information to the printer/scanner 100 inthe form of printing instructions to be carried out by the printhead 110and the positioning system 135 of the printer/scanner 100. As introducedabove, the printer/scanner 100 is able to operate both as a printer anda scanner. For example, after the printer/scanner 100 has depositedlayers of material for all the slices in the slice plan, it enters ascanning mode in which the scanner 112 senses the printed surface in amanner that captures information related to the relative distancebetween the scanner and the surface. This information is provided fromthe printer/scanner 100 as the scan data 350 discussed above. Variousscanning techniques may be used, including a technique in which thescanner is passed back and forth in the x-y coordinate range.

Referring to FIG. 4, the planning and depositing process outlined aboveis shown in flowchart 400 in the case of accommodating variation inheight in a partially fabricated object. The printing process can beginwith planning an initial slice set (step 410) based on the object model.(Alternatively, the fabrication loop is entered at a scanning step 430described below). For example, for an initial set of slices of theobject, the first slices are planned as parallel planar thin section ofthe object model that are to be formed on the flat build surface. Oneaspect of each slice that is planned is the spatial extent in the x-ycoordinates where material is to be deposited. Once the slice set hasbeen planned, the system controls the printer to deposit layers ofmaterial according to the slice set (step 420), for example, accordingto the x-y spatial extent of each layer using a raster pattern ofprinter head motion. Once the material for the layers of the slice sethas been deposited, the system scans the newly formed surface of theobject (step 430), and based on the scan data obtained by the scanningdetermines a depth map that represents the achieved surface shape (step435). In an ideal scenario, the depth map may show a perfectlyhorizontal (constant z) surface, but more typically there is variationin the depth over the surface of the partially fabricated object. Thesystem now plans a next slice set based on the object model and thedepth map using a procedure described below that adapts the slices tomatch the determined actual depth map and to deposit material onlywithin the volume of the object as specified in the object model (step440). If the object has been completely fabricated (i.e., there are nomore layers to deposit) the process is complete (step 450). Otherwise,the planned slice set (determined at step 440) is used to control theprinter to deposit the layers for the next slice set (step 420). Asintroduced above, this loop may be entered at a scanning step, where aninitial surface structure is scanned before any slices are deposited.Although this may not be necessary in the case of fabrication on aperfectly flat build surface, in certain embodiments described in detailbelow, the fabrication may build an object on another structure, forexample, electronic circuitry, a support structure, etc., and theinitial scan may characterize the surface of that other object.

Referring back to FIG. 3, the image processor 360 receives the scan data350. For example, the scan data may provide, for multiple x-ycoordinates (for example, on a regular grid), a density value as afunction of distance from the scanner in the z direction, such that atthe surface a rapid change in density signals the presence of thesurface of the object. The image processor 360 essentially translatesthe scan data into a characterization of the surface, for instanceincluding a depth map of the partially-fabricated object. For example,the depth map represents the fabricated height (z value, height abovethe build platform 130) of the object as a function of x-y position(i.e., a function z(x,y)), in a coordinate system compatible with theobject model of the object data 310. For example, the image processor360 accounts for the z distance between the build surface 130 and thescanner in determining the depth map.

Generally, the depth map defines a cut (i.e., a two-dimensional surface)through the three-dimensional object model, such that the part of theobject below that cut has been fabricated, and the part above the cuthas yet to be fabricated. The planner 320 determines the fabricationdata to form a next part of the object to be fabricated corresponding tothe part of the model above that cut.

Referring to a cross-sectional view in FIG. 5, the process describedabove with reference to the block diagram of FIG. 3, and the flowchartof FIG. 4 is illustrated in the context of fabricating a conical object500 (in cross-section a triangle). In this illustration, a part 540 ofthe object has been fabricated, and the system plans a set of nextlayers 541-545 to be printed sequentially on top of the part 540. Inthis example, the top surface of the part 540 is assumed to be perfectlyplanar in the horizontal (x-y) plane, and each slice is planned to forma further horizontal planar layer. The extent of each slice is plannedsuch that each fabricated layer in this example is successively smallerforming the cone shape of the model of the object. That is, in thisideal case, each layer would form a disc parallel to the x-y plane, withthe edge of the disc being determined by the intersection of the planeof the layer and the cone, which forms a circle in the x-y coordinates.In FIG. 5, the layers 541-545 are illustrated as being fabricated withuniform thickness, thereby maintaining the planar horizontal surface ofthe top layer 545. After depositing layer 545, the process would thencontinue to form the entire object.

Referring to a cross-sectional view in FIG. 6, a process of fabricatinga conical object 600 of the same shape as illustrated in FIG. 5 isillustrated when the layers are not perfectly planar. In thisillustration, a part 640 of the object has been fabricated. However,unlike the part 540 illustrated in FIG. 5, the top surface of this part640 does not have a uniform height, and has a non-planar shape. Afterfabricating this part 640, the system scans the surface to determine thedepth map of the partially fabricated object (steps 430 and 435 of FIG.4). In this illustration, the slice set is planned to have uniform layerthickness, but the slices are not planar in shape. Rather, the slicesare planned to be fabricated on the partially-formed surface such thateach layer has the same shape but offset in height. That is, the slicesare parallel but not generally planar. Note that the spatial (x-y)extent of each slice is not exactly circular in this illustration due tothe non-uniform height of the surface on which each layer is to beformed. It is important to recognize that if the slices had beenpre-computed, the difference between the ideal x-y extent of each sliceversus the computed extent based on the depth map could cause inaccuracyin the shape (e.g., the form of the ultimately formed outside surface)of the fabricated object. In this illustration, the set of layers641-645 are deposited on the part 640 (step 420 of FIG. 4), in thisillustration achieving uniform thickness. Note that in practice, even iflayers 641-645 are planned to have exactly uniform thickness, suchuniformity may not be achieved, and the next top surface will not haveexactly the same shape as the previous top surface. However, byrepeating the scanning process, the procedure for planning the nextslice adapts to deviation from perfectly uniform layers.

Referring to a cross-sectional (x-z plane) view in FIG. 7, one approachto determining the geometry of a next slice 753 makes use of the depthmap 740 of the partially fabricated object. The depth map 740 isillustrated to vary across the x dimension, represented as a functionz(x,y). As discussed above, the depth map z(x,y) can be determined froma scan of the surface of a partially-fabricated object. In thisapproach, to plan a layer that will be at height 6 above the layer, anoffset depth map 743 is determined by adding 6 to z(x,y). To determinethe special extent 753 of the layer, that is, the range of x-ycoordinate on this offset depth map that fall within the object beingfabricated, an intersection of the depth map 740 and the model surface630 of the object. The offset value δ in this approach is based on theplanned thickness of the layers to be fabricated. In this illustration,the slice 753 is the third slice to be fabricated on the surface of thepartially fabricated object, and therefore 6 is chosen to be 2.5 timesthe planned layer thickness so that the offset depth map is planned tofall midway vertically in the slice.

Referring to FIGS. 8-9, the general approach of using scanning ofpartially fabricated objects to adapt the plan for further layers can beused for other aspects than non-planar surface shape. For example,adaptation of depositing of multiple materials may use the same generalapproach illustrated in FIG. 3. In much the same way a color inkjetprinter can print a color image using more than one printhead (each ableto supply a distinct color), the printer/scanner 100 may be outfittedwith more than one printhead, each one capable of supplying a differentmaterial during the fabrication of the model. Generally, in thisexample, the object data 310 includes a model that specifies not onlythe three-dimensional shape of the object, but also specifies thematerial composition within the object. The planner uses this objectdata to form fabrication data that yields the desired materialcomposition within the object by instructing the printer to deposit theappropriate material or mixture of materials at each (x,y) location.

Referring to the cross-sectional view in FIG. 8, a conical object isfabricated in much the same way as conical object 540 shown in FIG. 5.However, in this example, the conical object 800 is designed to be madefrom two materials, each of one half of conical object 840 being madefrom a different material (material “A” on the left and material “B” onthe right), with the boundary between the materials dividing the objectdown the geometric center of the object, shown as dividing line 850. Asin the example discussed with reference to FIG. 5, a part 840A-B of theconical object 800 has been fabricated. For this example shown in FIG.8, we assume that perfectly horizontal planar layers are formed duringfabrication. Part 840 has been fabricated with parts 840A and 840B havethe desired boundary between material “A” and “B” along dividing line850. After forming the part 840A-B, the system plans further slices841A-B through 845A-B, such that each slice has a part from a section ofmaterial “A” and a section of material “B” on either side of dividingline 850, for example, with layer 841A-B being formed of a section 841Aof material “A” and a section 841B of material “B”. In this idealexample, each layer form a disc in the x-y plane, with the edge of thedisc being determined by the intersection of the plane of the layer andthe cone. Layers 841A-B through 845A-B are illustrated as beingfabricated with uniform thickness, thereby maintaining the planarhorizontal surface of the top joint layer 845A-B, and ideal transitionsbetween materials “A” and “B”.

Referring to the cross-sectional view in FIG. 9, another example of aprocess for fabricating a conical object 900 is shown, similar to thatwhich is shown in FIG. 8. However, FIG. 9 differs from FIG. 8 in thatalthough the material transition of the model of the object falls alongthe center line, as fabricated the part 940A-B does not yield thedesigned boundary and rather a dividing line between the materialsfollows a boundary 950. For example, irregular flow of the material fromthe printheads, or flow on the object before curing, may cause theimperfect transition location between the materials. In this example,based on scan data from the fabricated part 940A-B of the object, theplanner plans further slices to compensate for the actual boundary forexample, by depositing material to form a continuous boundary thatachieves the desired average location.

More generally, in the multi-material fabrication case, the planner 320determines the slices of the model for the next layers taking intoaccount both the achieved geometry (i.e., layer thickness) and materialdistribution (e.g., extent of material regions and/or fractionalcomposition of the mixture of material by location) of the partiallyfabricated object. Note that some of the variability in layer thicknessmay be related to the use of multiple material, for example, with somematerials shrinking more than others during curing, or interactionsbetween materials causing particular volume changes. In this case, thegeometry is used to plan the geometry of the planned slice set, and thematerial distribution within the partially fabricated object is used toplan the material distribution in the next slices. In some examples, avolumetric error diffusion algorithm is used to compensate for theerrors in material distribution incurred in the prior layers. This isalso useful when a multi-material digital model is specified usingcontinuous mixtures of materials (e.g., functionally graded materials).

In the multiple material case, the scan data 350 (see FIG. 3) producedby the scanner may include data from multiple visible and/or infraredspectral ranges from which the material composition may be inferred. Forexample, each material typically has a different spectral reflectanceand the material composition can be determined by analyzing differencesbetween spatially varying multispectral reflectance. Other features suchas density, homogeneity, etc., may be used to transform the scan data toa map of the achieved material composition.

In some cases, the multiple materials may differ in their color, and thescan data may be used to adapt to the achieved color. For example, theremay be variation in achieved color as a result of the curing process,and the system adapts the combination of materials to yield the desiredcolor or color distribution on the surface or within the object.

The adaptation process for addressing geometric variation isparticularly useful in certain multiple material situations in that itcan compensate for substantial differences in thickness among thematerials used in the printing process. For example, this approach doesnot require that all materials are optimized to have almost identicalshrinkage/expansion properties so that when mixtures of materials aredeposited next to each other, they form a continuous layer ofsubstantially equal thickness. This method can adaptively slice futurelayers to compensate for difference in thickness.

Related to the discussion of use of multiple materials for fabrication,one case of multiple materials is where one of the materials is forsupport during fabrication, and removal after fabrication. For example,the support material and support structures are typically necessary whenmanufacturing objects with overhangs or elastic objects that can sagunder their own weight. The approach described above handles the supportmaterial in a similar manner that multi-material adaptive depositionwhereby the support material is handled as another material within amulti-material object. That is, the object model can include both thedesired object and its support material structure as one combined“object.”

Given an object model for an object whose finished form is to be madefrom a single material that may sag under its own weight, the systemcreates a plan for this object using multiple materials, even though thefinished object is only to be made from one material. The system maythen proceed to create a plan for the object integrating areas ofsupport that are made from a rigid material with the intention of beingtemporary (and therefore removed once the printing process hascompleted). Types of objects that may require this sort ofmulti-material support during the printing process may not only be thosemade from elastic materials prone to sagging, but may also be objectsthat are not necessarily meant to balance freely in any way (i.e., acomponent meant to fit in a larger object), and therefore requiresupport material to impose some notion of balancing freely for thepurposes of printing. While the support material used in thismulti-material process may vary, it is always intended to be temporaryand removed once the printing process has completed.

In the discussion above, the planned slices are described as havinguniform thickness. More generally, the slices may be designed to havevarying thickness, which is achieved by controlling the printhead(s) todeposit material at varying rate as the printhead(s) travel across thesurface of the object. One reason to design a varying thickness relatesto accurate edge fabrication. In the simple conical example shown inFIG. 5, the outer edge of each layer preferably has a tapered profile sothat the stack of layers yields a smooth outer surface of the object.Therefore, it should be understood that each slice may be formed as avolumetric intersection of an offset uniform thickness section from theachieved surface with the volume of the object model. At the interior ofthe object the resulting slice has uniform thickness while at the edgesis has the appropriate taper.

As introduced above, the scanning of the object is performed after anumber of layers are deposited, for example, after 10 layers aredeposited. An alternative is to scan the surface more frequently. Anadvantage of scanning more frequently is the potential increase inaccuracy. However, separate scanning may add time to the total time tomanufacture an object. Therefore, deferring a scanning step and sliceplanning until a set of layers are deposited any provide a usefultradeoff between accuracy and speed.

In some implementations, the number of layers that are formed betweenscans is not fixed, and rather is adapted during the fabricationprocess. For example, to the extent that the layers are deposited withpredictable shape (even if it is not planar), then the scanning intervalmay be increased to more layers. To the extent that the achieved shapeis not well predicted, the scanning interval may be decreased.

In some implementation, a fixed or initial number of layers betweenscans may be selected based on the material and/or the geometry of theobject being formed. For example, based on experimental data it may beknown that a certain material yields unpredictable thickness variation,and that therefore the scanning interval shown be smaller, while anothermaterial may be known to deposit in predictable thickness and thereforenot require as frequent a scanning interval. Similarly, an objectgeometry with detailed features may warrant more frequent scanning,while an object with large-scale features may not require such frequentscanning.

More generally, there may be numerous features that determine theinitial, or adapted, scanning interval, including the desired precisionfor the manufactured object, the geometric features or materialcomposition within the object, the level of inaccuracies detected duringthe printing process, and the ratio of different materials detectedduring the printing processed for multi-material prints

In some embodiments, the scanning is performed concurrently with theprinting process, thereby not incurring a delay for scanning the object.For example, in a scanner/printer of the type shown in FIG. 1, with theprinting pattern following a raster pattern with stripes in the xdirection, with offsets of the stripes in the y direction, it may bepossible to scan the achieved height of along a previous stripe at one yvalue, while depositing a stripe of a layer at another y value.

It should be understood that the approaches described above are notlimited to a particular additive manufacturing process. For example, avariety of types of inkjet-based printing, photopolymer phase changeinkjets, thermal phase change inkjets, inkjet metal printing, fusedfilament fabrication, and additive manufacturing using dispensingsystems may be used.

Similarly, it should be understood that the approaches described aboveare not tied to a particular scanning technology. In general, thescanner gathers information on the partially fabricated object that isused to adapt the fabrication of the next layers. This information mayinclude, but is not limited, to the top most surface of the partiallyprinted object, a height map of the partially printed object, or full orpartial volume scan of the partially printed object. A number of 3Dscanning approaches may be used, including without limitation opticalcoherence tomography (OCT) such as time domain OCT, frequency domainOCT, swept source OCT, shape from specularity, confocal microscopy,interferometry, terahertz imaging, stereo triangulation, etc. Inaddition, a multispectral 2D scan (e.g., using a multispectral camera)can be also captured. One embodiment of the system uses opticalcoherence tomography (OCT), a kind of incoherent light interferometry,to scan a volume near the surface of the partially printed object andextract the top most surface. In a basic operation, the scanning systemcaptures the information corresponding to the whole build volume. In anoptimized operation to save scanning time, the scanning system capturesthe information corresponding to the area/volume spanned by the lastprinted layers, for example, the layers deposited since the last scan ofthe object. In some embodiments, the scanners might image a scanningarea/volume that is smaller than a build area of the printing device. Inthis case, the scanning process divides the entire area/volume (or thearea/volume spanned by the last printed layers) into smallersubsections. Then, it scans each subsection and combines the subsectionsinto a complete scan. As introduced above, in some embodiments, thescanner may capture a small area directly below the scanner, and thescanner is passed over the object on a raster manner to build an entirescan of the object.

In some example, the planned slices may be designed to restore thesurface to a planar shape parallel to the build surface. For example,the slices may be planned to form one or more corrective layers, forexample, as described in Patent Publication US2016/0023403.

More generally, partially corrective layers may be planned using sliceswith thickness variation, which may only partially address thenon-planar shape of the surface. For example, the difference between themaximum and the minimum height within the topmost surface of the objectcan increase as more layers are deposited. However, it may be desirableto keep this height difference within a constrained range (typicallyless than a few millimeters). One reason for this is that for manyadditive manufacturing processes the accuracy of the deposition dependson the distance between the printhead and the fabricated object. Ideallythis distance should be less than a few millimeters. If the heightdifference is large and the printhead is close to the surface, theprinthead might collide with the fabricated object and damage it. Thus,this adaptive process ensures that the height difference is alwayswithin the desired range. This is achieved by selectively reducingmaterial deposition in the areas with maximum/large height andincreasing material deposition in the areas with minimum/small height.For example, this is done by manipulating layer thickness (e.g., ininkjet processes selectively changing droplet sizes) or addingadditional layers in the low height areas.

Referring to FIG. 10, bottom part 1040 of an object 1000 has beenfabricated, and is shown to have a dramatically uneven surface 1040 a.In this example, the overall variation in height of uneven surface 1040a is greater than the variation in height that the printer (not shown)preferably accommodates. For example, with the illustrated range ofheight, the printhead may have to be farther from the surface, yieldinginaccuracies in material deposition. A general approach outlined aboveto addressing such a situation is for the planned slice set to reducethe variation, for example, by excluding the “high” (x-y) regions fromcertain slices, or reducing the planned thickness of the slices in suchregions. For example, as illustrated, slices 1041-1045 may be planned tohave varying thickness, and planned to achieve an overall surface 1045a, which may be but is not necessarily planar. For example, the slice1041 may be planned with one thickness 1010 in a “valley” and a smallerthickness 1020 near a “peak” of the scanned surface.

It should be understood that planning the slice thickness is only oneway of planning the manner in which the printhead(s) may depositmaterial for a layer. More generally in the case of drop-on-demandprinting, the size of material drops, precise locations, or othercharacteristics controllable by a driving waveform of the printhead maybe planned to adapt to the already fabricated part of the object. Forexample, it may be beneficial to deposit may small drops near the edgeof the object or near fine geometric structures, while depositing largerdrops in the bulk of the object.

In many application scenarios, it is desirable to combine auxiliaryobjects with an additively manufactured object. For example, one cancombine integrated circuits (ICs), interior support structures, orpre-fabricated (e.g., bulk) components, with an additively manufacturedenclosure or cover. Very generally, the auxiliary object may be treatedas being part of the model of the object to be fabricated.

In one situation, the auxiliary object is at the bottom of the object,and can be placed directly on the build platform 130 before the additivefabrication process begins. An initial scan determines the preciselocation of the auxiliary object, enabling spatial registration of theauxiliary object and the object model. At this point, the depth map ofthe partial object, which at this point is only the auxiliary object, isused to begin planning slice sets, for example as shown in the flowchartof FIG. 4 beginning at step 430 (i.e., with the placement of theauxiliary object essentially replacing step 420). The process thencontinues as described by the flowchart until the object is completelyfabricated. Note that if the auxiliary object is particularly thick,rather than planning the slices to extend over the whole surface, therange of height may be reduced by limiting the slices to “low” regionsuntil the overall height variation is suitably limited to permitaccurate depositing of material over the entire surface extent of thepartially fabricated object.

More generally, in another auxiliary object situation, the auxiliaryobject is added to the object after a part has been additivelyfabricated. That is, the auxiliary object does not have to initiallyrest on the build platform. In order to combine an additivelymanufactured part of the object with one or possibly multiple auxiliaryobjects, the method proceeds as follows. The object is partiallyfabricated until the position of the first auxiliary object is reached.This might include printing more layers such that empty spaces in themanufactured object are formed where the auxiliary object is to beinserted. Then, the first auxiliary object is inserted at the correctplace. This can be done by an automated robot (e.g., a pick and placemachine) or manually (e.g., by a human operator). At this point, a scanof the combination of the partially fabricated object and the newlyadded auxiliary object is scanned to determine a depth map for thecombination, and the planning of the slice sets continues based on theobject model and the depth map.

When there are more auxiliary objects to add, the process continuesmanufacturing until the position of the next auxiliary object isreached. Next, the auxiliary object is inserted. The method continues inthis manner until the whole additively manufactured object isfabricated.

Note that the scanning of the combined object after the insertion of anauxiliary part may be used to detect errors in the placement. Forexample, there may be a prescribed tolerance for the placement of theauxiliary object, and if that tolerance is exceeded, then the auxiliaryobject may be repositioned, and the scan performed again to yield a newdepth map. If the tolerance is satisfied, then the additive fabricationprocess can continue.

Note that the additive material deposition after adding the auxiliarypart is adaptive to the exact placement of the auxiliary part, therebyavoiding the possibility of voids or other defects that might arise fromtolerable but not precise placement of the auxiliary object.

As introduced above, in some examples, the scanning process yieldsinformation about the partially-fabricated object not only directly atthe surface, but at least for a depth of the layers of the slice setthat was deposited since the last scan of the object. The informationabout these fabricated layers may include density, for example, in thecase of a single-material fabrication situation, and may includematerial composition, for example, the fractional composition ofmultiple materials. Although each scan includes information about asmall number of layers of the objects, the scans may be stored andvertically “stitched” together, for example, based on the known z-heightof the scanner at each of the scans. For example, each scan may providea non-planar thin segment of an overall synthesized three-dimensionalimage of the interior of the object.

The information in this synthesized image may be used, for example, toestimate and report errors between the digital model and themanufactured object. This includes both the geometric errors and errorsin material placement (e.g., in the case of multi-material additivemanufacturing). This information may also be used to estimate and reporterrors in placement of auxiliary objects, or to guide furthermanufacturing than requires accurate knowledge of the locations of theauxiliary objects, for example, to make electrical connections.Synthesized three-dimensional image may also be used for qualityassurance purposes, estimation of object properties, and for partcertification according to given guidelines.

The techniques described above may be used in conjunction withcomponents (e.g., positioning, printing, materials, imaging components)described in a publication by Sitthi-Amorn, Pitchaya, Javier E. Ramos,Yuwang Wangy, Joyce Kwan, Justin Lan, Wenshou Wang, and WojciechMatusik. “MultiFab: a machine vision assisted platform formulti-material 3D printing” in the ACM Transactions on Graphics (TOG),vol. 34, no. 4, Proceedings of ACM SIGGRAPH 2015, (August, 2015): paper129, which is incorporated herein by reference. Similarly, thetechniques described above may be used with techniques and componentsdescribed in U.S. patent application Ser. No. 14/645,616, filed Mar. 12,2015, published as US2016/0023403 on Jan. 28, 2016, titled “Systems andMethods of Machine Vision Assisted Additive Fabrication,” which thebenefit of U.S. Provisional Patent Application Ser. No. 62/029,921,filed Jul. 28, 2014. These patent applications, available to be public,are also incorporated herein by reference. Furthermore, a combination ofapproaches described above and in these incorporated documents may beused. For example, a combination of adaptation to the achieve surfacegeometry for planning slice sets, and planning corrective layers to beable to return to pre-planned slices, may be used.

The functional components of the system, for example, the imageprocessor 360, the planner 320, and the printer controller 340, may beimplemented in software, in hardware, or in a combination of softwareand hardware. Software can include processor instructions stored on anon-transitory machine-readable medium (e.g., non-volatile semiconductormemory), such that when executed by a processor, the instructions causethe processor to perform the functions described above. Hardwareimplementations may include application specific integrated circuits(ASICs), field programmable gate arrays (FPGSs), microcontrollers, andthe like. Referring to FIG. 11, in an example implementation, a computer110 hosts components including the image processor 360, planner 320, andprinter controller 340, which are implemented in software. The softwareexecutes on a processor 1106 of the computer, using memory 1104 andcommunicating with the printer/scanner 10 via a peripheral interface.The computer also includes a data interface 1108, for accessing a datastorage device 1110 holding the model data 310.

It is to be understood that the foregoing description is intended toillustrate and not to limit the scope of the invention, which is definedby the scope of the appended claims. Other embodiments are within thescope of the following claims.

What is claimed is:
 1. A method for additive fabrication of an objectrepresented by three-dimensional model data, the method comprising:computing, using first scan data obtained from a scanner afterfabricating a first part of the object forming a first surface of theobject, first surface data characterizing the first surface of theobject; determining second fabrication data characterizing a second setof layers for additive fabrication on the first surface of the objectaccording to the first surface data and the three-dimensional model datafor the object, wherein at least one layer of the second set of layersrepresents a non-planar surface determined from the first surface data;and providing the second fabrication data to control a printer forfabricating the second set of layers.
 2. The method of claim 1, whereinthe first surface of the object has a varying level.
 3. The method ofclaim 1, wherein the second set of layers are determined to be offsetfrom the first surface, and to have spatial extent in dimensions alongthe first surface determined from the model data for the object.
 4. Themethod of claim 3 where each layer of the second set of layers isdetermined to have uniform thickness, each layer being each uniformlyoffset from the first surface.
 5. The method of claim 1, wherein thefirst surface data includes a first depth map for the first surface. 6.The method of claim 5, wherein determining the second fabrication datacharacterizing the second set of layers comprises, for each layer of thesecond set of layers: determining an offset depth map relative to thefirst depth map, determining a cross-section corresponding to anintersection of the offset depth map and the object, the intersectiondetermined from the three-dimensional model data, and determining aspatial extent of the cross section.
 7. The method of claim 1, whereinthe model data characterizes a material composition throughout theobject, and the first scan data represents a varying materialcomposition associated with the first surface of the object.
 8. Themethod of claim 7, wherein the second set of layers are determined tohave varying material composition determined from the object data andfrom the varying material composition associated with the first surface,to match the material composition characterized by the model data. 9.The method of claim 1, further comprising: fabricating the first part ofthe object, including forming the first surface.
 10. The method of claim1, further comprising: fabricating a second part of the object on thefirst surface of the object, including fabricating each layer of thesecond set of layers according to the determined second fabricationdata.
 11. The method of claim 10, wherein fabricating the second part ofthe object forms a next surface of the object, and the method furthercomprises, repeating one or more times: computing, using scan dataobtained from the scanner after fabricating a second part of the objectforming a next surface of the object, next surface data characterizingthe next surface of the object; and determining next fabrication datacharacterizing a next set of layers for additive fabrication on the nextsurface of the object according to the next surface data andthree-dimensional model data for the object; and fabricating a next partof the object on the next surface of the object, including fabricatingeach layer of the next set of layers according to the determined nextfabrication data, fabricating the next part including forming the nextsurface of the object.
 12. The method of claim 11, further comprisingcombining scan data obtained from the scanner after fabricating multipleparts of the object to synthesize a three-dimensional image of thefabricated object.
 13. The method of claim 1, further comprising formingthe first part of the object by combining of an auxiliary object with apart formed by additive fabrication, wherein the auxiliary object formsat least part of the first surface of the object.
 14. The method ofclaim 1 wherein the non-planar surface is determined to be offset fromthe first surface, and a have spatial extent in dimensions along thefirst surface determined from the model data for the object.
 15. Themethod of claim 14 wherein determining the second fabrication dataincludes determining a cross-section corresponding to an intersection ofthe offset from the first surface and the object determined from thethree-dimensional model data.
 16. The method of claim 14 wherein the atleast one layer is determined to have uniform thickness.
 17. Anon-transitory machine-readable medium comprising instructions forcausing a computer controller three-dimensional printing system to:compute, using first scan data obtained from a scanner after fabricatinga first part of the object forming a first surface of the object, firstsurface data characterizing the first surface of the object; determinesecond fabrication data characterizing a second set of layers foradditive fabrication on the first surface of the object according to thefirst surface data and the three-dimensional model data for the object,wherein at least one layer of the second set of layers represents anon-planar surface determined from the first surface data; and providethe second fabrication data to control a printer for fabricating thesecond set of layers.
 18. A three-dimensional printing system comprisinga controller configured to: compute, using first scan data obtained froma scanner after fabricating a first part of the object forming a firstsurface of the object, first surface data characterizing the firstsurface of the object; determine second fabrication data characterizinga second set of layers for additive fabrication on the first surface ofthe object according to the first surface data and the three-dimensionalmodel data for the object, wherein at least one layer of the second setof layers represents a non-planar surface determined from the firstsurface data; and provide the second fabrication data to control aprinter for fabricating the second set of layers.